/**
 * @author 甜圆
 * @version v1.0.1
 * @date 2025/10/14 19:34
 * @package PACKAGE_NAME
 * @copyright 甜圆
 */
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

public class CallableExample {
    public static void main(String[] args) throws Exception {
        // 创建线程池
        ExecutorService executor = Executors.newSingleThreadExecutor();

        // 创建Callable任务
        Callable<Integer> task = () -> {
            // 模拟耗时操作
            Thread.sleep(1000);
            return 42; // 返回结果
        };

        // 提交任务并获取Future对象
        Future<Integer> future = executor.submit(task);

        System.out.println("等待任务完成...");

        // 获取任务结果（如果任务未完成，会阻塞当前线程直到任务完成）
        Integer result = future.get();
        System.out.println("任务结果: " + result);


        // 关闭线程池
        executor.shutdown();
    }
}